package routers

import (
	demoControllers "golang-manage-admin/http/modules/demo/controllers"
	systemControllers "golang-manage-admin/http/modules/system/controllers"
)

/**
 * 控制器初始化
 * 按业务模块组织控制器，支持模块化管理
 */
func init() {
	InitController = initController{}

	// ========== System 模块 ==========
	// 用户认证
	InitController.System.AuthController = systemControllers.AuthController{}
	InitController.System.AuthController.Init()

	// ========== Demo 模块 ==========
	// 测试功能
	InitController.Demo.TestController = demoControllers.TestController{}
	InitController.Demo.TestController.Init()

	// 延时任务调度
	InitController.Demo.DelayedController = demoControllers.DelayedController{}
	InitController.Demo.DelayedController.Init()
}

var InitController initController

// initController 控制器容器
// 按业务模块组织，便于管理和扩展
type initController struct {
	// System 模块 - 系统核心功能
	System struct {
		AuthController systemControllers.AuthController // 用户认证
	}

	// Demo 模块 - 演示和测试功能
	Demo struct {
		TestController    demoControllers.TestController    // 测试功能
		DelayedController demoControllers.DelayedController // 延时任务调度
	}
}
